#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include"platform.h"
#include <QMainWindow>
#include<QTreeWidgetItem>
#include<QStandardItemModel>
#include "TreeModel.h"
#include<QtCharts>
QT_CHARTS_USE_NAMESPACE
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE



class knowledge
{
public:
    QString name;
    int hour;
    int dif;

    knowledge(QString n,int h,int d){
        name=n;
        hour=h;
        dif=d;
    }

};





class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    void init();
    void tabBarInit();
    void treeViewInit();
    void tableViewInit();
    void setItem(int index,QStandardItem* item);
    int curRange=0;//滚动条值

    QList<knowledge*> data;
    void GetNode();
    void GetItem(QStandardItem *item);
    void updateChart();

    QList<platform*> platforms;//工作台会打开很多页面，所以用list存页面
    QMenu * menu;//treeview右键打开菜单
    TreeModel *model;//treeview的model
    QStandardItemModel *tableModel;

private:
    Ui::MainWindow *ui;
    QString seriesName;
    QString seriesType;

    void drawBarLine();



private slots:
    void multilevelMenuItemClicked(QTreeWidgetItem* p,int i);//左侧导航栏点击菜单

    void on_tabWidget_tabCloseRequested(int index);//tab页面关闭

    void on_search_but_clicked();//搜索按钮点击
    void InsertSort_hour(int m, int n);  //插入排序
    void InsertSort_diff(int m, int n);
    void quick_sort_hour(int l,int r);   //快速排序
    void quick_sort_diff(int l,int r);
    void slotMenuPopup(const QPoint &pos);//treeview鼠标右键弹出菜单
    void on_drive_but_clicked();
    void on_horizontalScrollBar_valueChanged(int value);
    void on_load_but_clicked();
    void on_treeView_doubleClicked(const QModelIndex &index);
    void on_hour_order_but_clicked();
    void on_dif_order_but_clicked();
};
#endif // MAINWINDOW_H
